// 小程序页面管理工具类
/**
 * 
 * @param {Object} obj  {url [STring],success [func],fial [func],complete [func]}
 */
const navigateTo = obj=> {
  const pages = getCurrentPages()
  // 校验参数
  cehckParam(obj,["url"])
  // 当页面栈超过5时，就清空页面栈并跳转
  if (pages.length >= 6) {
    wx.showToast({
      title: '页面层级已超过6个，已清空页面栈~~',
      icon: 'none'
    })
    setTimeout(()=>{
      wx.reLaunch(obj)
    },1000)
  }else {
    wx.navigateTo(obj)
  }
}

const navigateBack = obj => {
  
}

/**
 * 对入参进行指定参数非空的校验
 * @param {Object} obj // 原始参数对象 
 * @param {Array} paramArry //需要校验的参数数组 
 */
function cehckParam(obj,paramArry) {
  if (paramArry && paramArry.length > 0 && obj) {
    paramArry.forEach(param => {
      if (!obj[param] && obj[param]!=0) {
        throw new Error(`参数 ${param} 不能为空！！`)
      }
    })
  }
}

module.exports = {
  navigateTo
}



